<?php
	function eeRO_error_exit($error, $replace = array())
	{
		global $eeRO_config;
	
		echo '<h2>Ошибка</h2>';
		echo '<p>' . strtr($error, $replace) . '</p>';
		echo '<i>' . $eeRO_config->copyright . '</i>';
		
		exit;
	}

	function __autoload($class)
	{
		eeRO_load_class($class, true);
	}
	
	function eeRO_ext_exists($name)
	{
		global $eeRO_ext;
	
		if ( !in_array($name, $eeRO_ext) )
		{
			return false;
		}
		
		return true;
	}

	function eeRO_load_class($class, $autoload = false)
	{
		if ( !file_exists(eeRO_PATH_LIBRARY . $class . eeRO_EXT_CLASS) )
		{
			return false;
		}
		
		include(eeRO_PATH_LIBRARY . $class . eeRO_EXT_CLASS);
		
		if ( $autoload )
		{
			return true;
		}
		
		return new $class();
	}
	
	function eeRO_error_handler($en, $es, $ef, $el)
	{
		global $eeRO_debug;
		
		switch ( $en )
		{
			case E_USER_ERROR:
				$eeRO_debug->response('<strong>Ошибка:</strong> ' . '[' . $en . ']' . $es);
				$eeRO_debug->response('Строка: ' . $el . ', в файле: ' . $ef);
				break;
				
			case E_USER_WARNING:
				$eeRO_debug->response('<strong>Внимание:</strong> ' . '[' . $en . ']' . $es);
				break;
				
			case E_USER_NOTICE:
				$eeRO_debug->response('<strong>Уведомление:</strong> ' . '[' . $en . ']' . $es);
				break;
				
			default:
				$eeRO_debug->response('<strong>Неизвестная ошибка:</strong> ' . '[' . $en . ']' . $es);
				break;
		}
	}